import java.util.Scanner;

public class Method {
    //在同一个类中定义多个方法：要求不仅可以求2个整数的最大值，还可以求3个小数的最大值？
    public static double max(double a, double b, double c) {
        double max = a > b ? a : b;
        return max > c ? max : c;
    }
    public static int max(int a,int b){
        return a>b?a:b;
    }
    public static void main(String[] args) {
        int ret = max(5, 3);
        System.out.println("较大值" + ret);
        double min = max(4.3, 5.6, 7.8);
        System.out.println("较小值" + min);
    }
    //在同一个类中,分别定义求两个整数的方法 和 三个小数之和的方法。 并执行代码，求出结果
    public static int add(int a, int b) {
        return a + b;
    }

    public static double add(double a, double b, double c) {
        return a + b + c;
    }
    public static void main5(String[] args) {
        System.out.println(add(2, 4));
        System.out.println(add(5.2, 3.4, 4.5));
    }
    //斐波那契数列
    public static int add1(int a, int b) {
        return a + b;
    }
    public static void main4(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入你想查询的第n项");
        int n = scan.nextInt();
        if (n <= 2) {
            System.out.println(1);
        } else {
            int a = 1;
            int b = 1;
            int ret = 0;
            for (int i = 2; i <= n; i++) {
                ret = add(a, b);
                a = b;
                b = ret;
            }
            System.out.println(ret);
        }
    }
    //求1！+2！+3！+4！+........+n!的和
    public static int addFactorial(int n) {
        int sum = 0;
        for (int i = 1; i <= n; i++) {
            sum = sum + factorial(i);
        }
        return sum;
    }

    public static void main3(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入一个数字");
        int n = scan.nextInt();
        int sum = addFactorial(n);
        System.out.println("1到" + n + "的阶乘 " + sum);
    }

    //求 N 的阶乘 。
    public static int factorial(int n) {
        int sum = 1;
        for (int i = 1; i <= n; i++) {
            sum = sum * i;
        }
        return sum;
    }

    public static void main2(String[] args) {
        Scanner scan = new Scanner(System.in);
        System.out.println("请输入一个数");
        int n = scan.nextInt();
        int ret = factorial(n);
        System.out.println("阶乘为" + ret);
    }
    //创建方法求两个数的最大值max2，随后再写一个求3个数的最大值的函数max3。
    //要求：在max3这个函数中，调用max2函数，来实现3个数的最大值计算

    public static int max(int a, int b, int c) {
        int ret = max(a, b);
        return max(ret, c);
    }

    public static void main1(String[] args) {
        int x=15;
        int y=20;
        int z=15;
        int max1=max(x,y,z);
        System.out.println("最大数为"+max1);
    }
}
